package com.lancoo.edu.platform.operation.commons.task.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.quartz.DateBuilder;

/**
 * @author zhang.ws
 * @date 2024/6/21 16:41
 * @description 间隔/频率 单位枚举，需要搭配：quartz使用
 */
@Getter
@AllArgsConstructor
public enum IntervalUnitEnum {

    /**
     * 天
     */
    DAY(1, "天", DateBuilder.IntervalUnit.DAY);

    /**
     * 间隔/频率 单位类型
     */
    private final Integer intervalType;

    /**
     * 间隔/频率 单位名称
     */
    private final String intervalName;

    /**
     * 间隔/频率 单位
     */
    private final DateBuilder.IntervalUnit intervalUnit;


    /**
     * 根据单位类型获取间隔/频率 单位枚举
     *
     * @param intervalType 间隔/频率 单位类型
     */
    public static IntervalUnitEnum getIntervalUnitEnum(Integer intervalType) {
        for (IntervalUnitEnum intervalUnitEnum : IntervalUnitEnum.values()) {
            if (intervalUnitEnum.getIntervalType().equals(intervalType)) {
                return intervalUnitEnum;
            }
        }
        return DAY;
    }
}
